package com.cm.creational.factory.simple;

import com.cm.creational.factory.IPhone;
import com.cm.creational.factory.MiPhone;
import com.cm.creational.factory.Phone;

/**
 * 工厂模式
 * 核心本质：
 *
 * 实例化对象不使用new，用工厂方法创建对象
 * 使用工厂统一管理对象的创建，将调用者跟实现类解耦
 * https://blog.csdn.net/qq_42804736/article/details/115168313
 * @author cm.g
 * @date 2023/6/9 17:02
 */
public class PhoneFactory {
    public Phone create(String type) {
        if (type.equals("IPhone")) {
            return new IPhone();
        } else if (type.equals("MPhone")) {
            return new MiPhone();
        } else {
            return null;
        }
    }
}
